Кластер

Матеріал з Словник з інформатики
Перейти до: навігація, пошук

Кластер — група комп'ютерів, об'єднаних високошвидкісними каналами зв'язку і являє собою з точки зору користувача єдиний апаратний ресурс. Кластер - слабо пов'язана сукупність декількох обчислювальних систем, що працюють спільно для виконання спільних програм, і що представляються користувачеві єдиною системою. Один з перших архітекторів кластерної технології Грегорі Пфістер дав кластеру таке визначення: «Кластер - це різновид паралельної або розподіленої системи, яка: складається з кількох пов'язаних між собою комп'ютерів; використовується як єдиний, уніфікований комп'ютерний ресурс ». Зазвичай розрізняють такі основні види кластерів: відмовостійкі кластери (High-availability clusters, HA, кластери високої доступності); кластери з балансуванням навантаження (Load balancing clusters) ; обчислювальні кластери (High perfomance computing clusters, HPC) ; системи розподілених обчислень.

Зміст

1.Класифікація кластерів

2.Застосування

3.Найпродуктивніші кластери

4.Примітки

5.Джерела

Класифікація кластерів

Кластери високої доступності

Позначаються абревіатурою HA (англ. High Availability - висока доступність) . Створюються для забезпечення високої доступності сервісу, що надається кластером . Надмірне число вузлів, що входять в кластер , гарантує надання сервісу в разі відмови одного або декількох серверів. Типове число вузлів - два , це мінімальна кількість , що приводить до підвищення доступності. Створено безліч програмних рішень для побудови такого роду кластерів .

Відмовостійкі кластери і системи взагалі будуються за трьома основними принципами: з холодним резервом або активний / пасивний . Активний вузол виконує запити , а пасивний чекає його відмови і включається в роботу , коли такий відбудеться. Приклад - резервні мережеві з'єднання , зокрема , Алгоритм сполучного дерева. Наприклад зв'язка DRBD і HeartBeat . з гарячим резервом або активний / активний . Всі вузли виконують запити , у разі відмови одного навантаження перерозподіляється між рештою . Тобто кластер розподілу навантаження з підтримкою перерозподілу запитів при відмові . Приклади - практично всі кластерні технології , наприклад , Microsoft Cluster Server . OpenSource проект OpenMosix . з модульною надмірністю . Застосовується тільки у випадку , коли простий системи абсолютно неприпустимий. Всі вузли одночасно виконують один і той же запит (або частини його , але так , що результат досяжний і при відмові будь-якого вузла) , з результатів береться будь-який. Необхідно гарантувати , що результати різних вузлів завжди будуть однакові ( або відмінності гарантовано не вплинуть на подальшу роботу). Приклади - RAID і Triple modular redundancy . Конкретна технологія може поєднувати дані принципи в будь-якій комбінації . Наприклад , Linux -HA підтримує режим обопільної поглинаючої конфігурації ( англ. takeover ) , в якому критичні запити виконуються усіма вузлами разом , інші ж рівномірно розподіляються між ними.

Кластери розподілу навантаження ( Network Load Balancing , NLB )

Принцип їх дії будується на розподілі запитів через один або кілька вхідних вузлів , які перенаправляють їх на обробку в інші , обчислювальні вузли. Початкова мета такого кластера - продуктивність , однак , в них часто використовуються також і методи, що підвищують надійність. Подібні конструкції називаються серверними фермами. Програмне забезпечення ( ПЗ) може бути як комерційним ( OpenVMS , MOSIX , Platform LSF HPC , Solaris Cluster , Moab Cluster Suite , Maui Cluster Scheduler ) , так і безкоштовним ( OpenMosix , Sun Grid Engine , Linux Virtual Server ) .

Обчислювальні кластери

Кластери використовуються в обчислювальних цілях, зокрема в наукових дослідженнях. Для обчислювальних кластерів істотними показниками є висока продуктивність процесора в операціях над числами з плаваючою точкою ( flops ) і низька латентність об'єднуючою мережі , і менш істотними - швидкість операцій введення-виведення , яка більшою мірою важлива для баз даних і web -сервісів. Обчислювальні кластери дозволяють зменшити час розрахунків , в порівнянні з одиночним комп'ютером , розбиваючи завдання на паралельно виконуються гілки , які обмінюються даними по зв'язує мережі . Одна з типових конфігурацій - набір комп'ютерів , зібраних із загальнодоступних компонентів , з встановленою на них операційною системою Linux , і пов'язаних мережею Ethernet , Myrinet , InfiniBand або іншими відносно недорогими мережами. Таку систему прийнято називати кластером Beowulf . Спеціально виділяють високопродуктивні кластери ( Позначаються англ. Абревіатурою HPC Cluster - High - performance computing cluster ) . Список найпотужніших високопродуктивних комп'ютерів ( також може позначатися англ. Абревіатурою HPC ) можна знайти у світовому рейтингу TOP500 . У Росії ведеться рейтинг найпотужніших комп'ютерів СНД.

Системи розподілених обчислень ( grid )

Такі системи не прийнято вважати кластерами , але їх принципи в значній мірі подібні з кластерної технологією . Їх також називають grid -системами . Головна відмінність - низька доступність кожного вузла , тобто неможливість гарантувати його роботу в заданий момент часу (вузли підключаються і відключаються в процесі роботи ) , тому завдання повинна бути розбита на ряд незалежних один від одного процесів . Така система , на відміну від кластерів , не схожа на єдиний комп'ютер , а служить спрощеним засобом розподілу обчислень. Нестабільність конфігурації , в такому випадку , компенсується великим числом вузлів.

Кластер серверів , організованих програмно

Кластер серверів ( в інформаційних технологіях ) - група серверів , об'єднаних логічно , здатних обробляти ідентичні запити і використовуються як єдиний ресурс. Найчастіше сервери групуються за допомогою локальної мережі . Група серверів володіє більшою надійністю і більшою продуктивністю , ніж один сервер. Об'єднання серверів в один ресурс відбувається на рівні програмних протоколів.

На відміну від апаратного кластеру комп'ютерів , кластери організовувані програмно , вимагають :

наявності спеціального програмного модуля ( Cluster Manager ) , основною функцією якого є підтримка взаємодії між усіма серверами - членами кластера : синхронізації даних між усіма серверами - членами кластеру; розподіл навантаження ( клієнтських запитів) між серверами - членами кластеру; від уміння клієнтського програмного забезпечення розпізнавати сервер , що представляє собою кластер серверів , і відповідним чином обробляти команди від Cluster Manager ; якщо клієнтська програма не вміє розпізнавати кластер , вона буде працювати тільки з тим сервером , до якого звернулася спочатку , а при спробі Cluster Manager перерозподілити запит на інші сервери , клієнтська програма може взагалі позбутися доступу до цього сервера (результат залежить від конкретної реалізації кластера ).

Застосування

У більшості випадків , кластери серверів функціонують на роздільних комп'ютерах. Це дозволяє підвищувати продуктивність за рахунок розподілу навантаження на апаратні ресурси і забезпечує відмовостійкість на апаратному рівні.

Однак , принцип організації кластера серверів ( на рівні програмного протоколу ) дозволяє виконувати по кілька програмних серверів на одному апаратній . Таке використання може бути затребуване :

при розробці та тестуванні кластерних рішень; при необхідності забезпечити доступність кластера тільки з урахуванням частих змін конфігурації серверів - членів кластера , що вимагають їх перезавантаження (перезавантаження здійснюється почергово ) в умовах обмежених апаратних ресурсів .

Найпродуктивніші кластери

Двічі на рік організацією TOP500 публікується список п'ятисот найпродуктивніших обчислювальних систем в світі , серед яких останнім часом часто переважають кластери. Найшвидшим кластером є IBM Roadrunner (Лос- Аламоської національної лабораторії , США , створений в 2008 році), його максимальна продуктивність ( на липень 2008) становить 1,026 петафлопс . Найшвидша система в Європі ( на липень 2008) - суперкомп'ютер , BlueGene / P знаходиться в Німеччині , в дослідницькому центрі міста Юліх, земля Північний Рейн - Вестфалія , максимально досягнута продуктивність 167,3 терафлопс .

Кластерні системи займають гідне місце в списку найшвидших , при цьому значно виграючи у суперкомп'ютерів в ціні. На липень 2008 року на 7 місці рейтингу TOP500 знаходиться кластер SGI Altix ICE 8200 ( Chippewa Falls , Вісконсін , США ) .

Порівняно дешеву альтернативу суперкомпьютерам представляють кластери , засновані на концепції Beowulf , які будуються із звичайних недорогих комп'ютерів на основі безкоштовного програмного забезпечення. Один з практичних прикладів такої системи - Stone Soupercomputer ( Оак Рідж , Теннессі , США , 1997).

Найбільший кластер , який належить приватній особі ( з 1000 процесорів) , був побудований Джоном Коза ( John Koza ) .

Примітки

TOP50 Суперкомпьютеры[1]

Джерела

http://www.nvidia.ru/object/tesla-high-performance-computing-ru.html

http://cluster.linux-ekb.info/


--Марічка Крижановська